`:top
Das `!Java Development Kit`! (`!JDK`!) des Unternehmens `F33f`_`[Oracle`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Oracle]`_`f – ehemals von `F33f`_`[Sun Microsystems`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Sun_Microsystems]`_`f –, das `!Oracle JDK`!, ist eines der von `F33f`_`[Java`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Java_(Programmiersprache)]`_`f-Entwicklern meistgenutzten Java-`F33f`_`[SDKs`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Software_Development_Kit]`_`f.
Im November 2006 gab Sun bekannt, dass das JDK unter der `F33f`_`[GNU General Public License`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=GNU_General_Public_License]`_`f (GPL) veröffentlicht wird.`:cite-ref-2[`F5bf`_`[2`#cite-note-2]`_`f] Nun wird eine angepasste `F33f`_`[freie`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Freie_Software]`_`f Version als ihr nunmehr offizieller Nachfolger unter dem Namen `*`F33f`_`[OpenJDK`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=OpenJDK]`_`f`* weitergeführt.
>>Contents
• `F0af`_`[Bestandteile`#bestandteile]`_`f
• `F0af`_`[Java-Compiler`#java-compiler]`_`f
• `F0af`_`[Java-Debugger`#java-debugger]`_`f
• `F0af`_`[Java-Dokumentationswerkzeug`#java-dokumentationswerkzeug]`_`f
• `F0af`_`[Java-Archiver`#java-archiver]`_`f
• `F0af`_`[Dienstprogramm zum Signieren von JAR-Dateien`#dienstprogramm-zum-signieren-von-jar-dateien]`_`f
• `F0af`_`[Werkzeuge für Applets`#werkzeuge-f-r-applets]`_`f
• `F0af`_`[Webservice Importer`#webservice-importer]`_`f
• `F0af`_`[Werkzeuge zur Leistungsüberwachung und Management eines Javaprogramms`#werkzeuge-zur-leistungs-berwachung-und-management-eines-javaprogramms]`_`f
• `F0af`_`[Unterstützte Plattformen`#unterst-tzte-plattformen]`_`f
• `F0af`_`[Verfügbarkeit`#verf-gbarkeit]`_`f
• `F0af`_`[Weblinks`#weblinks]`_`f
• `F0af`_`[Einzelnachweise`#einzelnachweise]`_`f
-─
>>Bestandteile
Das JDK beinhaltet neben der Laufzeitumgebung `F33f`_`[Java Runtime Environment`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Java_Runtime_Environment]`_`f (JRE) die folgenden Java-Entwicklungswerkzeuge:
>>>Java-Compiler
Der Java-`F33f`_`[Compiler`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Compiler]`_`f (`B100`F9d9javac`f`b) übersetzt Java-`F33f`_`[Quellcode`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Quellcode]`_`f in Java-`F33f`_`[Bytecode`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Bytecode]`_`f.`:cite-ref-3[`F5bf`_`[3`#cite-note-3]`_`f] Er liest den Quellcode aus Dateien mit der Endung `B100`F9d9.java`f`b und schreibt den Bytecode in Dateien, die auf `B100`F9d9.class`f`b enden. Die eigentlichen Dateinamen entsprechen dem Namen der zu übersetzenden Klasse. Das Paket, in dem die Klasse liegt, wird auf einen passenden Verzeichnispfad abgebildet. Ein Java-Paket (englisch `*Package`*) ist ein eigener `F33f`_`[Namensraum`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Namensraum]`_`f. Zum Beispiel kann eine Datei `B100`F9d9HalloWelt.java`f`b die Klasse `B100`F9d9org.wikipedia.HalloWelt`f`b enthalten. Dann erzeugt der Aufruf `B100`F9d9javac org.wikipedia.HalloWelt.java`f`b eine Datei `B100`F9d9HalloWelt.class`f`b im Verzeichnis „`B100`F9d9org/wikipedia`f`b“ (bzw. „`B100`F9d9org\\wikipedia`f`b“ unter `F33f`_`[Windows`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Windows]`_`f). Der Java-Compiler ist in Java geschrieben und `F33f`_`[plattformunabhängig`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Plattformunabhängigkeit]`_`f, das heißt, der Bytecode des Compilers ist auf unterschiedlichen Plattformen identisch.
>>>Java-Debugger
Der Java-`F33f`_`[Debugger`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Debugger]`_`f (`B100`F9d9jdb`f`b) ist ein Tool zum Debuggen einer laufenden `F33f`_`[Java-Anwendung`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Java-Anwendung]`_`f.`:cite-ref-java-debugger-4-0[`F5bf`_`[4`#cite-note-java-debugger-4]`_`f] Es werden dabei klassische Debuggerfunktionen unterstützt wie:
• Code Listing (Quellcode anzeigen)
• Setzen von Unterbrechungspunkten (Breakpoints)
• Inspizieren von Variablen und Datenstrukturen zur Laufzeit
Er kann direkt mit einer Laufzeitumgebung gestartet werden oder aber ad-hoc in eine entsprechend konfigurierte Laufzeitumgebung eingeklinkt werden (Remote Debugging). In der Dokumentation wird darauf verwiesen, dass der mitgelieferte Java-Debugger lediglich eine Demonstration der mächtigen Java Debugging API sei. Demzufolge bringen die meisten Java-Entwicklungsumgebungen einen einfacher zu benutzenden Debugger mit.
>>>Java-Dokumentationswerkzeug
Das `F33f`_`[Software-Dokumentationswerkzeug`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Software-Dokumentationswerkzeug]`_`f `*`B100`F9d9`F33f`_`[javadoc`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Javadoc]`_`f`f`b`* erzeugt aus dem Java-Quellcode eine Programmdokumentation als `F33f`_`[HTML`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Hypertext_Markup_Language]`_`f-`F33f`_`[Hypertext`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Hypertext]`_`f. Dazu werden neben strukturellen Informationen auch Kommentare berücksichtigt.
>>>Java-Archiver
Das Programm `*`B100`F9d9jar`f`b`* erstellt `F33f`_`[Java-Archive`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Java_Archive]`_`f (sogenannte `*JAR-Dateien`*). Das sind spezielle `F33f`_`[ZIP-Dateien`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=ZIP-Dateiformat]`_`f, in denen Java-Klassen zu verteilbaren Einheiten zusammengefasst werden. Das Werkzeug hat eine ähnliche Kommandozeilensyntax wie das bekannte `F33f`_`[Unix`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Unix]`_`f-Programm `B100`F9d9`F33f`_`[tar`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Tar_(EDV)]`_`f`f`b, ermöglicht jedoch zusätzlich die direkte Manipulation der darin enthaltenen „Manifest-Datei“. In dem JAR-Archiv werden sämtliche `B100`F9d9.class`f`b-Dateien, Grafiken, Textdateien und sonstige Dateien, also beispielsweise alles, was eine Java-Anwendung benötigt, zu einer einzigen Datei zusammengepackt, dem JAR-Archiv.
>>>Dienstprogramm zum Signieren von JAR-Dateien
Das Werkzeug `B100`F9d9jarsigner`f`b ist zum `F33f`_`[Signieren`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Elektronische_Signatur]`_`f von Java-Anwendungen und Bibliotheken sowie zur Signatur-Überprüfung im JDK enthalten.
>>>Werkzeuge für Applets
>>>>Java Applet Viewer
Der `*`B100`F9d9appletviewer`f`b`* ist ein sehr einfacher `F33f`_`[Browser`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Webbrowser]`_`f, der nur die in einem HTML-Dokument enthaltenen `F33f`_`[Java-Applets`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Java-Applet]`_`f jeweils in einem eigenen Fenster anzeigt. Dieses Programm kann verwendet werden, um während der `F33f`_`[Programmierung`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Programmierung]`_`f schnell und einfach Applets zu testen.
>>>>Java Plug-in HTML Converter
Der `*`B100`F9d9htmlconverter`f`b`* ist ein interaktives Programm, mit dem die früher üblichen `B100`F9d9<applet>`f`b-Tags in `B100`F9d9<object>`f`b-Tags umgewandelt werden können. Solche Tags werden von Browsern erwartet, die mit dem Java-Plugin ausgestattet sind, das Teil der Java-Laufzeitumgebung JRE ist.
>>>Webservice Importer
Das Dienstprogramm `B100`F9d9wsimport`f`b wurde im Zuge der `F33f`_`[Java API for XML Web Services`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Java_API_for_XML_Web_Services]`_`f mit dem JDK verteilt. Es dient hauptsächlich dazu, `F33f`_`[Stubs`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Stub_(Programmierung)]`_`f für Webservice-Clients auf Basis einer `F33f`_`[WSDL`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=WSDL]`_`f zu generieren.
>>>Werkzeuge zur Leistungsüberwachung und Management eines Javaprogramms
>>>>JConsole
Ab der Version 1.5 gibt es das Programm `B100`F9d9jconsole`f`b, welches hauptsächlich entwickelt wurde, um die sogenannten `*Management Beans`* (MBeans) benutzen zu können.`:cite-ref-jconsole-5-0[`F5bf`_`[5`#cite-note-jconsole-5]`_`f] Mit Hilfe der JConsole kann man Laufzeitparameter der `F33f`_`[JVM`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Java_Virtual_Machine]`_`f einsehen und überwachen, u. a.:
• Speicherverbrauch (Heap, PermGen)
• Funktionsweise der automatischen `F33f`_`[Speicherverwaltung`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Speicherverwaltung]`_`f (`F33f`_`[Garbage Collection`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Garbage_Collection]`_`f)
• Mittels der Funktion `*heapdump`* kann man einen Snapshot des gesamten virtuellen Speicherbreiches einer JVM erzeugen und detaillierte Informationen über benutzte Objekte, Referenzen u. v. m. erhalten.
Einen Sonderfall stellen dabei die MBeans dar, sie sind Bestandteil der `F33f`_`[Java Management Extensions`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Java_Management_Extensions]`_`f. Die JConsole kann sowohl lokale als auch remote laufende JVMs überwachen und steuern. JConsole kann über Plugins erweitert werden.
>>>>JVisualVM
Ab Version 1.6 wird mit dem JDK das Dienstprogramm `B100`F9d9jvisualvm`f`b`:cite-ref-jvisualvm-6-0[`F5bf`_`[6`#cite-note-jvisualvm-6]`_`f] verteilt. Dieses nicht direkt unter der `F33f`_`[Ägide`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Ägide]`_`f von Sun bzw. Oracle entwickelte Programm stellt einen ähnlichen Funktionsumfang wie die JConsole bereit und ist ebenfalls durch Plugins erweiterbar.
>>>>Java Mission Control
Ab Version 1.7 Patch 40 (7u40) verteilt Oracle das auf Basis von `F33f`_`[Eclipse RCP`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Eclipse_RCP]`_`f eigenentwickelte Dienstprogramm `B100`F9d9jmc`f`b (Java Mission Control) aus`:cite-ref-java-mission-control-7-0[`F5bf`_`[7`#cite-note-java-mission-control-7]`_`f]. Neben dem klassischen Funktionsumfang von JConsole und JVisualVM war der Flight Recorder`:cite-ref-flight-recorder-8-0[`F5bf`_`[8`#cite-note-flight-recorder-8]`_`f] eine besondere Neuheit. Dieser ist direkt in die JVM integriert und sammelt bei Bedarf eine Vielzahl an Datenpunkten der laufenden VM (Speicher, Instanzzähler etc.). Lt. Aussage des Herstellers soll dies mit minimalem Geschwindigkeitsverlust stattfinden, sodass anders als bei vielen anderen Lösungen ein Einsatz in produktiver Umgebung möglich sein soll. Die Daten lassen sich entweder sammeln oder aber live mit `*Java Mission Control`* auswerten.
>>Unterstützte Plattformen
Für die folgenden Plattformen wird das JDK 20 von Oracle direkt bereitgestellt`:cite-ref-9[`F5bf`_`[9`#cite-note-9]`_`f]:
• `F33f`_`[Windows`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Microsoft_Windows]`_`f `F33f`_`[AMD64`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=AMD64]`_`f
• `F33f`_`[Linux`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Linux]`_`f AMD64
• macOS
Für weitere Plattformen wird das JDK üblicherweise Monate bis Jahre später und meist direkt vom Hersteller der Plattform geliefert. So wird beispielsweise in `F33f`_`[Mac OS X`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Mac_OS_X]`_`f das JDK 1.6 direkt von `F33f`_`[Apple`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Apple]`_`f systemnah eingebaut, ab Java 1.7 wird dieses jedoch von Oracle bereitgestellt.`:cite-ref-10[`F5bf`_`[10`#cite-note-10]`_`f]
Für `F33f`_`[SAP`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=SAP]`_`f-Systeme wird das JDK mittlerweile direkt von SAP bereitgestellt. Derzeit gibt es die Versionen SAP JVM 4.1 (Java 1.4), SAP JVM 5 (Java 5) und SAP JVM 6 (Java 6) für alle von SAP unterstützen Plattformen. Grund hierfür war hauptsächlich die weitere Unterstützung für Java 1.4 (jetzt durch SAP JVM 4.1), welche durch die `*SAP Business Suite`* bis 2020 gewährleistet sein muss.
>>Verfügbarkeit
Das JDK kann sowohl separat als auch im Paket mit der Java-`F33f`_`[IDE`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Integrierte_Entwicklungsumgebung]`_`f `F33f`_`[NetBeans`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=NetBeans]`_`f heruntergeladen werden. Es ist Bestandteil der Implementation der `F33f`_`[Java Platform, Standard Edition`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Java_Platform,_Standard_Edition]`_`f, die unter anderem auch definiert, welche `F33f`_`[Klassenbibliotheken`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Klassenbibliothek]`_`f dem Entwickler zur Verfügung stehen.
>>Weblinks
• aktuelle JDK Documentation (englisch, allgemeine Dokumentation zum JDK)
• Downloadseite des JDK (englisch)
>>Einzelnachweise
`:cite-note-3738d1e436f8a02d-1`!1.`! www.oracle.com. (abgerufen am 11. Dezember 2024).
`:cite-note-2`!2.`! `F0af`_`[↑`#cite-ref-2]`_`f `*Open-Source-Java: Details und Reaktionen.`* In: `*`F33f`_`[Heise open`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Heise_open]`_`f.`* 13. November 2006, abgerufen am 20. November 2013.
`:cite-note-3`!3.`! `F0af`_`[↑`#cite-ref-3]`_`f javac Java SE Dokumentation bei `*`F33f`_`[Oracle`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Oracle]`_`f`*; abgerufen am 20. November 2013 (englisch)
`:cite-note-java-debugger-4`!4.`! `F0af`_`[↑`#cite-ref-java-debugger-4-0]`_`f `*jdb – The Java Debugger.`* In: `*docs.oracle.com.`* Abgerufen am 15. Juli 2020.
`:cite-note-jconsole-5`!5.`! `F0af`_`[↑`#cite-ref-jconsole-5-0]`_`f Getting started with jconsole just got easier! (`F33f`_`[Memento`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Webarchivierung]`_`f vom 10. September 2015 im `*`F33f`_`[Internet Archive`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Internet_Archive]`_`f`*)
`:cite-note-jvisualvm-6`!6.`! `F0af`_`[↑`#cite-ref-jvisualvm-6-0]`_`f Archivlink (`F33f`_`[Memento`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Webarchivierung]`_`f vom 9. November 2015 im `*`F33f`_`[Internet Archive`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Internet_Archive]`_`f`*)
`:cite-note-java-mission-control-7`!7.`! `F0af`_`[↑`#cite-ref-java-mission-control-7-0]`_`f `*Java Mission Control.`* In: `*www.oracle.com.`* Abgerufen am 15. Juli 2020.
`:cite-note-flight-recorder-8`!8.`! `F0af`_`[↑`#cite-ref-flight-recorder-8-0]`_`f `*Java Platform, Standard Edition Java Flight Recorder Runtime Guide.`* In: `*docs.oracle.com.`* Abgerufen am 15. Juli 2020.
`:cite-note-9`!9.`! `F0af`_`[↑`#cite-ref-9]`_`f `*Java SE Development Kit 20- – Downloads.`* Abgerufen am 26. Juli 2023.
`:cite-note-10`!10.`! `F0af`_`[↑`#cite-ref-10]`_`f `*Oracle and Apple Announce OpenJDK Project for Mac OS X`* Apple PressInfo
`c`F0af`_`[↑ Back to top`#top]`_`f`a